home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 September / PCWorld_2007-09_cd.bin / v cisle / jkdefrag / JkDefrag-3.16.exe / doc / history.txt next >
Text File  |  2007-06-22  |  16KB  |  276 lines

  1. JkDefrag v3.16 (June 22, 2007)
  2. Changes:
  3. - Changed the message in the docs about the screensaver under Vista, it works if 
  4.   User Account Control is turned off.
  5. - Bugfix in "-a 3" (fast optimize). It would not use Perfect Fit for gaps that were
  6.   larger than all the data already processed.
  7. - Buffix in "-a 6" (move to end of disk). Files in zone 1 would not be moved.
  8. - Added some translations of "Program Files" to the build-in list of SpaceHogs:
  9.   Archivos de programa   Spanish 
  10.   Arquivos de programas  Brazilian Portuguese 
  11.   Ohjelmatiedostot       Finnish 
  12.   Program Files          All others 
  13.   Program                Swedish 
  14.   Programas              Portuguese 
  15.   ProgramFiler           Norwegian 
  16.   Programme              German 
  17.   Programmer             Danish 
  18.   Programmes             French 
  19.   Programmi              Italian 
  20. - Fixed a typo in the "System Volume Information" string in the SpaceHogs.
  21. - Fixed the displaying of the zone number, should have been + 1.
  22. For programmers:
  23. - Changed the "makefile.bat" script, "JkDefrag.exe" does not need to be linked
  24.   with "JkDefragScreenSaver.res".
  25.  
  26.  
  27. JkDefrag v3.15 (June 14, 2007)
  28. Changes:
  29. - Added extra breakpoints so the program will quit faster.
  30. - Added special exception for Acronis OS Selector files.
  31. - Changes to facilitate Delphi programmers. All callbacks are now CDECL.
  32. - Added a Pascal example program.
  33.  
  34.  
  35. JkDefrag v3.14 (June 9, 2007)
  36. Changes:
  37. - Bugfix for the "-u" commandline option. All the "-u" masks were accidentally 
  38.   also processed as "items".
  39. - Files are now classed as a SpaceHog when their last access time is more than
  40.   30 days ago.
  41. - Deleted the "full" optimization ("-a 4"). For backward compatibility the
  42.   program still accepts the option, but does exactly the same as for "-a 3".
  43. - The screensaver will now not start if it detects that the computer is running
  44.   on battery power.
  45. - Deleted the code that disables the Windows display idle timer (screen saver) and
  46.   system idle timer (power saver) in the commandline and screensaver versions.
  47. For programmers:
  48. - Deleted message 57 from the message array.
  49. - Changed the meaning of the "Data->Phase" variable used by the ShowStatus()
  50.   callback.
  51. - The ShowStatus() callback is now executed once for every zone in the "-a 3"
  52.   and "-a 7"..."-a 11" optimizations.
  53.  
  54.  
  55. JkDefrag v3.13
  56. - Version number skipped for superstitious reasons.
  57.  
  58.  
  59. JkDefrag v3.12 (June 6, 2007)
  60. Changes:
  61. - Bugfix for the X64 versions.
  62.  
  63.  
  64. JkDefrag v3.11 (June 5, 2007)
  65. Changes:
  66. - Fixed a bug that caused files to be classified in the wrong zone, causing
  67.   several problems.
  68. - Fixed a bug where the list of files was not cleared between disks.
  69. - Re-applied "The versions now also detect if another version is running"
  70.   change from v3.9 that was accidentaly deleted in version 3.10.
  71. - Reduced the size where huge files are treated in segments to 1Gb, in a further
  72.   attempt to work around a suspected bug in the Microsoft defragmentation api.
  73. For programmers: 
  74. - Added strings 48...57 to the array of textstrings.
  75.  
  76.  
  77. JkDefrag v3.10 (June 4, 2007)
  78. Changes:
  79. - Bugfix for infinite loop in "Phase 2: Fixup"
  80.  
  81.  
  82. JkDefrag v3.9 (May 30, 2007)
  83. Changes:
  84. - Added optimization methods for sorting files on disk by name, size, last
  85.   access, last change, and creation time.
  86. - Reduced the number of steps from 6 to 3.
  87. - Added zoning to the Fast and Full optimization methods. Files are now placed
  88.   in 3 zones with a free space between: directories, regular files, and space hogs.
  89. - Added "-u" commandline option to add custom masks to the list of build-in 
  90.   SpaceHogs masks.
  91. - Added a top-25 of largest files to the status report.
  92. - Huge files (>4Gb) are now treated in segments.
  93. - The versions now also detect if another version is running (windows,
  94.   command line, screen saver).
  95. - The Windows display idle timer (screen saver) and system idle timer (power saver)
  96.   are disabled while JkDefrag is running. 
  97. For programmers:
  98. - Many changes in the sources.
  99. - Added an example Visual project.
  100. - Library sources are now compatible with the UNICODE compiler setting.
  101. - Changes to facilitate multithreading.
  102. - Renamed the sources. There is now a JkDefrag.cpp and JkDefrag.h file for easy
  103.   inclusion into a project.
  104. - Integrated the DefragInitialize function into the RunDefrag function.
  105. - Changed the StopProcessing subroutine, it now accepts a timeout.
  106.  
  107.  
  108. JkDefrag v3.8 (April 20, 2007)
  109. Changes:
  110. - Fix for the "infinite worm" problem in the full optimization.
  111. - Added "-q" commandline option to the Windows version to exit the program when
  112.   it has finished.
  113. - Changed the "-e" exclude option to support multiple wildcards. Previously
  114.   a matching subdirectory would be skipped, now all files in those directories
  115.   will be scanned.
  116. - Changed the "-e" exclude option to support the excluding of complete disks.
  117. - Fixed a problem in the screensaver that prevented it from finding alternate
  118.   screensavers in the Windows directory.
  119. - Added special exception for the "bcldr.bin" file used by the BestCrypt software
  120.   by "http://www.jetico.com/".
  121. - Fixed a buffer size calculation in the AnalyzeVolume subroutine. It allocated
  122.   too much memory.
  123. - Enlarged a buffer for writing to the logfile. Very long filenames could result
  124.   in an empty message.
  125. - For library developers: added error message 47.
  126.  
  127.  
  128. JkDefrag v3.7 (Feb 24, 2007)
  129. Changes:
  130. - Commandline options are now accepted with and without a space between the
  131.   option and the value, for example "-a3" and "-a 3".
  132. - New "-e" commandline option to exclude files/directories.
  133. - New "-f" commandline option to specify a size for the free area.
  134. - New optimization method 6: Analyze, defragment, and move to end of disk.
  135. - New setting in the screensaver for the status bar not to display filenames
  136.   or not to display the status bar altogether.
  137. - The logfile now shows a list of files in the status report that could not be
  138.   moved, and a list of files that are (still) fragmented.
  139. - The logfile now shows the date only once at the top of the file, no loner on
  140.   every line.
  141. - Fixed a bug for the "-l" commandline option that specifies a different location
  142.   for the logfile, where the Windows version of the program would create a 
  143.   logfile at the default location containing only 1 line with "Starting, please
  144.   wait...".
  145. - Changed the screensaver's "Do not defrag if last run was less than" radio
  146.   buttons into a pull-down list.
  147. - Fixed a bug in the screensaver wrapper that made the preview window very slow.
  148. - Fixed a bug in the screensaver wrapper that prevented screensaver with a space
  149.   in their filename to run.
  150. - Added code to the screensaver to prevent multiple copies running simultaneously.
  151. - Added more code to the screensaver so it will not include itself in the list
  152.   of alternate screensavers.
  153. - Fixed a bug that would display the wrong name for screensavers that do not
  154.   have a name.
  155. - Removed the "2003" check when listing screensavers, the wrapper makes it 
  156.   possible to use non-standard screensavers.
  157. - Added a test to quickly stop optimizing when there is nothing more to do.
  158. - Enlarged a buffer to speed up the fragment analyzation.
  159. - Small change in the code that reduces the number of fragments in huge files
  160.   that cannot be fully defragmented.
  161. - Changed the debug level of the "FSCTL_GET_RETRIEVAL_POINTERS error: Infinite 
  162.   loop" from zero to 2, so it won't always be displayed.
  163. - Changed the debug level of the "Skipping gap, cannot fill: %I64d[%I64d]"
  164.   from 3 to 5.
  165. Changes in the DLL library:
  166. - 2 extra parameters in the RunDefrag() call.
  167.  
  168.  
  169. JkDefrag v3.6 (Jan 20, 2007)
  170. Changes:
  171. - Added a wrapper program to the screensaver. The alternate screensaver would not start for some users and this will hopefully fix the problem.
  172. - Action 5 "Force together" added. This mode will move all files to the beginning of the disk, even if it means fragmenting them. It fills all the gaps with fragments taken from the highest files.
  173. - A change in the code that determines if a file is fragmented, to reduce the number of files that are uneccesarily moved.
  174. - Debug mode 5 has been split into mode 5 "Detailed gap-filling messages" and mode 6 "Detailed gap-finding messages".
  175. - Fixed a bug that caused a logfile to be created with a single line of text (the version info) when the "-l" commandline option was used.
  176.  
  177. JkDefrag v3.5 (Jan 07, 2007)
  178. Changes:
  179. - Different method of starting the alternate screensaver, in the hope it will work for more users.
  180. - Added the "%SystemRoot%" folder to scan for screensavers.
  181. - Added a "2003" test to filter out non-standard screensavers.
  182. - Added zero to the choices in the "do not defrag if last run was less than ... hours ago" in the screensaver configuration window.
  183. - Bugfix: if more than one disk was specified on the commandline, and the program was stopped by the user during any but the last disk, then the program would close the window, finish the current file, and start processing the next disk in the background. It will now close the window and finish the current file.
  184. - Different method for determining the LCN of a file, in the hope it will fix a looping problem with compressed files during optimization.
  185. - Made a change in the method used to defragment huge files to reduce the number of midway fails, and make it faster.
  186. - Added debug level 6 for detailed gap-finding messages.
  187. - The "Analyzing disk", "Starting defragmenter for", and "Finished" messages are now written to the logfile.
  188. - For DLL users: Added a parameter to the ShowMove() callback.
  189. - For DLL users: extra message 46.
  190.  
  191. JkDefrag v3.4 (Dec 25, 2006)
  192. Changes:
  193. - The screensaver now has several settings. You can specify commandline options just like with the other versions, so you can control which disks will be defragged; you can specify another screensaver to run when JkDefrag has finished; and you can select a number of hours to wait before running again.
  194. - The screensaver now writes all the messages to a logfile, just like the other versions.
  195. - Added a bit of code that will find fragmented files at the end of a gap. It's not really necessary but makes certain warnings a bit less confusing.
  196.  
  197. JkDefrag v3.3 (Dec 15, 2006)
  198. Changes:
  199. - Bugfix for the X64 versions. The program ran but couldn't find any files and therefore didn't do any work. I wish I had an X64 system to test new versions on! Anyone care to donate a computer?
  200. - Added a couple more files to the internal dollar-list of special system files.
  201.  
  202. JkDefrag v3.2 (Dec 13, 2006)
  203. Changes:
  204. - Fixed a bug in the DLL that caused the name of the RunDefrag() subroutine to be mangled.
  205. - The distributions now include a 'doc' directory with a copy of the JkDefrag homepage.
  206. - Moved the .bat file to compile the X64 version to the main directory.
  207. - Small change in the code that rewrites input paths.
  208. - Suppressed "could not get volume bitmap" message at the end of the optimization phase.
  209.  
  210. JkDefrag v3.1 (Dec 08, 2006)
  211. when running the program, "3.0" still appears at the top of the window.
  212. Only the version string was incorrect.
  213.  
  214. JkDefrag v3.1 (Dec 07, 2006)
  215. Changes:
  216. - Managed to compile the screensaver and the DLL for X64.
  217. - Fixed a divide-by-zero error when the window is minimized.
  218. - Added a bit of code to get backup permissions, to gain access to special system files and folders such as the "System Volume Information" folder.
  219. - Added a maximum-loop counter to the code that finds out the size and location of file fragments, as a preventative measure for a suspected bug in the Windows defragmentation API.
  220. - The dollar special system files (such as "$Mft") are no longer analysed when the user has specified a file or a folder on the commandline, but only for full disks.
  221.  
  222. JkDefrag v3.0 (Dec 03, 2006)
  223. Changes between version 2.27a and version 3.0:
  224. - I've changed the name from plain old "defrag" into "JkDefrag". The old name was really no name at all and made talking about it a little bit awkward. The "jk" are my initials. The change in name is reflected in the names of the executables and the sources, for example "windefrag.exe" is now "JkDefrag.exe".
  225. - The program and it's sources are now released under the GNU General Public License, and the DLL library under the GNU Lesser general public license. Previously the program was copyrighted freeware with published sources.
  226. - New to this release is the screen saver. You can use it just like any other screensaver, go to lunch and come back to a fully optimized harddisk.
  227. - Big changes in the DLL to give programmers access to a lot more data and to make the library completely thread-safe. The new library is not downwards compatible, although the structure and calls resemble the old library.
  228. Changes in the Windows version:
  229. - Name changed from "windefrag.exe" into "JkDefrag.exe".
  230. - Starts in a resizable window instead of full screen.
  231. - Shows a percentage counter of how much is left to do.
  232. Changes in the commandline version:
  233. - Name changed from "defrag.exe" into "JkDefragCmd.exe".
  234. - Prints a small report with some numbers when it has finished processing a disk. The windows version saves the report in the logfile, but does not show the numbers on the screen.
  235. - Options are now processed before processing items.
  236. - Ultra long paths are now supported. Previously the program was limited to a maximum pathlength of 259 characters, as advised by Microsoft, but there are cases where pathnames can grow longer than that. Most Microsoft programs cannot handle ultra long paths.
  237. - Switched to Unicode wide-character strings and system calls for filenames and paths, instead of 8-bit ANSI.
  238. - Replaced the commandline options "o", "o1", and "o2" with the "a" options. It is now possible to run the defragger in analyze-only mode.
  239. - It is now possible to specify individual files on the commandline.
  240. - It is now possible to defragment/optimize unmounted volumes by specifying them explicitly on the commandline.
  241. - Changed the way invisible system files are colorized.
  242. - Invisible system files can now be defragged/optimized when the utility is started from a read-only medium such as cd-rom.
  243. - Fixed a bug that could cause the program to loop when moving files using strategy 2.
  244. - Moved the already-running test from the library to the individual programs, so that the library can now process multiple disks simultaneaously.
  245.  
  246. Defrag version 2.27 (Nov 16, 2006)
  247. Changes:
  248. - I have upgraded from "Microsoft Visual C++ Toolkit 2003" to "Visual C++ 2005 Express Edition", and from "Microsoft Platform SDK for Windows Server 2003 SP1" to "Microsoft Platform SDK for Windows Server 2003 R2". It required some minor changes in the sources.
  249. - I've included a small "make.bat" in the sources to compile the defragger, and a "x64/make.bat" to compile the x64 versions.
  250.  
  251. Defrag version 2.27b (Nov 22, 2006)
  252. This is an in-between maintenance release to fix a compilation bug in the X64 executables.
  253. No changes in the regular Windows binaries, and 1 character changed in the sources.
  254.  
  255. Defrag version 2.26 (Nov 07, 2006)
  256. Changes:
  257. - The defragger can now partially defragment. When it encounters a huge file for which there is no gap big enough, then it will defragment as much of the file as it can. Previously it would just skip the file.
  258. - Added a commandline option "-s" to slow down the defragger.
  259. - The program will now refuse to start if another instance is already running.
  260.  
  261. Defrag version 2.25 (Oct 23, 2006)
  262. Changes:
  263. - Rewritten the code that draws (colorizes) files on the screen.
  264. - Reorganised the debug messages.
  265. - Fixed a bug that could cause the program to hang on startup.
  266. - Changes that prepare for future partial defrag of huge files.
  267. - Different strategy to retry moving a file.
  268. - Went back to freespace and MFT optimization of version 2.23.
  269.  
  270. Defrag version 2.24 (Oct 13, 2006)
  271. Changes:
  272. - Further improvements in the algorithms to optimize the directories, the scratch-area, and the files in the MFT-zone.
  273.  
  274. Defrag pre-versions 2.24 (Pre Oct, 2006)
  275. No history recorded.
  276.